當資料量小時在查詢的速度上不會有感覺,但今天資料量已經累積了一年兩年五年時,資料的大小與資料筆數就會很大的影響查詢度,所以 Partition 在數據分析中非常重要,因為他可以直接影響到查詢的速度
在規劃方面,比較常見的 Partition 會是以年月日來規劃,或是以在查詢時常用的 where 欄位當作 Partition ,讓 Partition 的效益最大化
假設我使用月當作 Partition 欄位進行資料切分,而資料量有一年也就是12個月,每個月有10萬筆資料
當今天我要找出6月的一筆資料時,因為有 Partition 的關西,所以我的查詢範圍會是1/10萬
如果在沒有 partition 的情形下要找出6月的一筆資料時,查詢範圍會變成1/120萬,這時過濾的資料筆數會是沒有 Partition 的 12 倍,當在最壞的查詢情況下我們的查詢時間可能也會接近12倍,所以 Partition 所帶來的效益是非常巨大的
這個例子可以很快的了解 Partition 在大量資料查詢時的影響
明天會以 S3 演示如何使用 Partition 切分資料,並透過 Athena 進行查詢